PROC traiter_corps_macro(ptr_macro:PTR TO def_macro,parametres:PTR TO LONG)
/*SF*/
DEF long_corps,long_corps_temp,long_args:PTR TO LONG
DEF corps_macro_expandee,car,pos:PTR TO CHAR,i
long_args:=List(ptr_macro.nbre_args)
FOR i:=0 TO ptr_macro.nbre_args-1 DO long_args[i]:=EstrLen(parametres[i])
long_corps:=EstrLen(ptr_macro.corps)
long_corps_temp:=long_corps
pos:=ptr_macro.corps
FOR i:=0 TO long_corps_temp-1 DO IF (car:=pos[i])>=128 THEN long_corps:=long_corps+long_args[car-128]-1
corps_macro_expandee:=String(long_corps)
pos:=ptr_macro.corps
FOR i:=0 TO long_corps_temp-1 DO IF (car:=pos[i])>=128 THEN StrAdd(corps_macro_expandee,parametres[car-128],ALL) ELSE StrAdd(corps_macro_expandee,(pos+i),1)
ENDPROC corps_macro_expandee
/*EF*/
/*******************************************/
/* Sauvegarde le fichier de macros analyse */
/*******************************************/
PROC ecrire_fichier_macros_analyse(nom_fichier:PTR TO CHAR)